Method and apparatus for bandwidth request/grant protocols in a wireless communication system

ABSTRACT

A method and apparatus for allocating bandwidth in a broadband wireless communication system is disclosed. One embodiment uses a self-correcting bandwidth request/grant protocol. The self-correcting bandwidth request/grant protocol utilizes a combination of incremental and aggregate bandwidth requests. CPEs primarily transmit incremental bandwidth requests to their associated base stations, followed by periodic transmissions of aggregate bandwidth requests. The use of periodic aggregate bandwidth requests (that express the current state of their respective connection queues) allows the bandwidth allocation method and apparatus to be “self-correcting”. Another embodiment utilizes an abridged bandwidth request/grant protocol to allocate bandwidth. The abridged bandwidth request/grant protocol system utilizes padding packets to request a reduction in bandwidth allocation to a CPE. A base station modem alerts a base station CPU when the BS modem receives a padding packet from a CPE. After alerting the BS CPU the method can reduce the associated CPE&#39;s bandwidth allocation.

RELATED APPLICATIONS

This application claims priority to and is a continuation of U.S.application Ser. No. 10/978,903 filed Nov. 1, 2004 which is acontinuation of U.S. application Ser. No. 09/783,671 filed Feb. 14, 2001titled “Method and Apparatus for Abridged Bandwidth Request/GrantProtocol in a Wireless Communication System” which is acontinuation-in-part of U.S. application Ser. No. 09/316,518, filed May21, 1999 titled “Method and Apparatus for Allocating Bandwidth in aWireless Communication System,” all of which are hereby incorporated byreference. This application is also related to and hereby incorporatesby reference U.S. Pat. No. 6,016,311 issued Jan. 18, 2000 and U.S.application Ser. No. 09/613,434, filed Jul. 11, 2000.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to wireless communication systems, and to amethod and apparatus of bandwidth request/grant protocols in a broadbandwireless communication system.

2. Description of Related Art

As described in the commonly assigned U.S. Pat. No. 6,016,311, issuedJan. 18, 2000, titled “An Adaptive Time Division Duplexing Method andApparatus for Dynamic Bandwidth Allocation within a WirelessCommunication System,” which is hereby incorporated by reference, awireless communication system facilitates two-way communication betweena plurality of subscriber radio stations or subscriber units (fixed andportable) and a fixed network infrastructure. Exemplary communicationsystems include mobile cellular telephone systems, personalcommunication systems (PCS), and cordless telephones. The key objectiveof these wireless communication systems is to provide communicationchannels on demand between the plurality of subscriber units and theirrespective base stations in order to connect a subscriber unit user withthe fixed network infrastructure (usually a wire-line system). In thewireless systems having multiple access schemes a time “frame” is usedas the basic information transmission unit. Each frame is sub-dividedinto a plurality of time slots. Some time slots are used for controlpurposes and some for information transfer. Subscriber units typicallycommunicate with the base station using a “duplexing” scheme thusallowing the exchange of information in both directions of connection.

Transmissions from the base station to the subscriber unit are commonlyreferred to as “downlink” transmissions. Transmissions from thesubscriber unit to the base station are commonly referred to as “uplink”transmissions. Depending upon the design criteria of a given system, theprior art wireless communication systems have typically used either timedivision duplexing (TDD) or frequency division duplexing (FDD) methodsto facilitate the exchange of information between the base station andthe subscriber units. Both the TDD and FDD duplexing schemes are wellknown in the art.

Recently, wideband or “broadband” wireless communications networks havebeen proposed for providing delivery of enhanced broadband services suchas voice, data and video services. The broadband wireless communicationsystem facilitates two-way communication between a plurality of basestations and a plurality of fixed subscriber stations or CustomerPremises Equipment (CPE). One exemplary broadband wireless communicationsystem is described in the incorporated patent, U.S. Pat. No. 6,016,311,and is shown in the block diagram of FIG. 1. As shown in FIG. 1, theexemplary broadband wireless communication system 100 includes aplurality of cells 102. Each cell 102 contains an associated cell site104 that primarily includes a base station 106 and an active antennaarray 108. Each cell 102 provides wireless connectivity between thecell's base station 106 and a plurality of customer premises equipment(CPE) 110 positioned at fixed customer sites 112 throughout the coveragearea of the cell 102. The users of the system 100 may include bothresidential and business customers. Consequently, the users of thesystem have different and varying usage and bandwidth requirement needs.Each cell may service several hundred or more residential and businessCPEs.

The broadband wireless communication system 100 of FIG. 1 provides true“bandwidth-on-demand” to the plurality of CPEs 110. CPEs 110 requestbandwidth allocations from their respective base stations 106 based uponthe type and quality of services requested by the customers served bythe CPEs. Different broadband services have different bandwidth andlatency requirements. The type and quality of services available to thecustomers are variable and selectable. The amount of bandwidth dedicatedto a given service is determined by the information rate and the qualityof service required by that service (and also taking into accountbandwidth availability and other system parameters). For example,T1-type continuous data services typically require a great deal ofbandwidth having well-controlled delivery latency. Until terminated,these services require constant bandwidth allocation on each frame. Incontrast, certain types of data services such as Internet protocol dataservices (TCP/IP) are bursty, often idle (which at any one instantrequires zero bandwidth), and are relatively insensitive to delayvariations when active.

Due to the wide variety of CPE service requirements, and due to thelarge number of CPEs serviced by any one base station, the bandwidthallocation process in a broadband wireless communication system such asthat shown in FIG. 1 can become burdensome and complex. This isespecially true with regard to the allocation of uplink bandwidth. Basestations do not have a priori information regarding the bandwidth orquality of services that a selected CPE will require at any given time.Consequently, requests for changes to the uplink bandwidth allocationare necessarily frequent and varying. Due to this volatility in theuplink bandwidth requirements, the many CPEs serviced by a selected basestation will need to frequently initiate bandwidth allocation requests.If uncontrolled, the bandwidth allocation requests will detrimentallyaffect system performance. If left unchecked, the bandwidth required toaccommodate CPE bandwidth allocation requests will becomedisproportionately high in comparison with the bandwidth allocated forthe transmission of substantive traffic data. Thus, the communicationsystem bandwidth available to provide broadband services will bedisadvantageously reduced.

Some prior art systems have attempted to solve bandwidth allocationrequirements in a system having a shared system resource by maintaininglogical queues associated with the various data sources requiring accessto the shared system resource. Such a prior art system is taught byKarol et al., in U.S. Pat. No. 5,675,573, that issued on Oct. 7, 1997.More specifically, Karol et al. teach a bandwidth allocation system thatallows packets or cells within traffic flows from different sources thatare contending for access to a shared processing fabric to get access tothat fabric in an order that is determined primarily on individualguaranteed bandwidth requirements associated with each traffic flow. Inaddition, the system taught by Karol et al. allow the different sourcesto gain access to the shared processing fabric in an order determinedsecondarily on overall system criteria, such as a time of arrival, ordue date of packets or cells within the traffic flows. Packets or cellsof data from each data source (such as a bandwidth requesting device)are queued in separate logical buffers while they await access to theprocessing fabric.

The bandwidth allocation techniques described in the commonly assignedand incorporated U.S. patent application Ser. No. 09/316,518, filed May21, 2000, utilizes mechanisms referred to as “bandwidth request/grantprotocols” to provide on-demand bandwidth needs of individual CPEconnections. Typically, bandwidth request/grant protocols operate inaccordance with the following description. A CPE typically transmits abandwidth request to an associated base station. The request identifiesthe aggregate (i.e., the total) bandwidth needs of the connection. Thebase station receives the bandwidth request and determines whethersufficient bandwidth is available to grant the bandwidth request. Ifsufficient bandwidth is available, the requested bandwidth is granted tothe connection, else the base station waits for sufficient bandwidth tobecome available before granting the requested bandwidth. As describedin the parent patent application, bandwidth request/grant protocolsimprove bandwidth allocation efficiencies in wireless communicationsystems under ideal conditions.

However, as is well known, bandwidth requests (and associated grants)can be lost (i.e., never received by the associated base station) ordelayed due to noise and interference effects inherent to all wirelesscommunication systems. When bandwidth requests are lost or delayedduring transmission between a CPE and a base station, bandwidthallocation efficiencies can be adversely affected. Lost or delayedbandwidth requests contribute to the reduction of bandwidth allocationefficiency in wireless communication systems by causing the basestations to inaccurately allocate bandwidth to their associated andrespective CPEs.

For example, consider the situation where a selected CPE transmits abandwidth request to its associated base station wherein the requestidentifies the aggregate bandwidth requirements of the selected CPE.Assume that the bandwidth request is lost in transmission due tointerference on the air link between the base station and the selectedCPE. In this example, the associated base station never receives theaggregate bandwidth requirements of the selected CPE, and the basestation therefore never grants the CPE's bandwidth request. Afterwaiting a suitable period of time, the CPE will determine that is hasnot received a bandwidth grant from the base station. Disadvantageously,the CPE will be unable to determine if the bandwidth request was lostduring transmission or if the base station simply did not havesufficient bandwidth to grant the request (given the quality of service(“QoS”) of the associated connection).

The CPE may then transmit a second bandwidth request for the sameconnection. Under certain conditions, a “race condition” may occur thatcould cause the bandwidth allocation technique to waste the allocationof bandwidth. If the timing of the bandwidth requests (and subsequentgrants) is such that the selected CPE issues the second bandwidthrequest for the same connection concurrently with the base station'sgrant of the first request, the second request and the grant to thefirst request may be concurrently transmitted over the link. That is, ifthe base station transmits a grant to the first request before receivingthe second request from the CPE, the base station may respond to thesecond request and consequently grant a duplicate bandwidth request forthe same connection. This disadvantageously results in an efficientallocation of bandwidth.

One alternative bandwidth request/grant protocol that prevents theoccurrence of the above-described “race condition” is the so-called“guaranteed delivery protocol.” As is well known, guaranteed deliveryprotocols make use of acknowledgment messages that are transmitted inresponse to bandwidth requests. In accordance with the guaranteeddelivery protocol approach, a CPE transmits to its associated basestation a bandwidth request that identifies the aggregate bandwidthneeds of a selected connection. The base station receives the bandwidthrequest and transmits an acknowledgment to the CPE thereby communicatingreceipt of the bandwidth request. If an acknowledgment is not receivedby the CPE, the CPE retransmits the bandwidth request. Advantageously,guaranteed delivery protocols vastly reduce the possibility of the basestation erroneously allocating duplicate bandwidth to the CPE (asdescribed above), and thus, improves bandwidth allocation efficiencies.However, guaranteed delivery protocols disadvantageously requireadditional bandwidth necessary for transmitting acknowledgement messagesbetween the base stations and the CPEs. Furthermore, response timeassociated with the allocation of bandwidth is reduced because the CPEsmust wait to receive acknowledgements from their associated basestations.

Some bandwidth request/grant protocols known as “incremental bandwidthrequest/grant protocols” attempt to solve the above-described problemsrelating to data transmission efficiency by utilizing incrementalbandwidth requests instead of aggregate bandwidth requests. Incrementalbandwidth requests identify the additional bandwidth needs of a CPEconnection. For example, in accordance with incremental bandwidthrequest methods, a base station may allocate 1000 units of bandwidth toan associated CPE connection. At a later time, the CPE connection mayrequire 1,500 units of aggregate bandwidth (i.e., it may require anadditional 500 units of bandwidth). In accordance with the incrementalbandwidth request/grant protocol, the CPE will transmit an incrementalbandwidth request to its associated base station indicating that itrequires an additional 500 units of bandwidth. Upon receiving theincremental bandwidth request, the base station calculates the CPEconnection's current aggregate bandwidth needs as 1500 units (1000previously granted units+500 requested units).

Advantageously, systems using the incremental bandwidth request/grantprotocols respond faster and require less bandwidth than do those usingthe guaranteed delivery protocols because acknowledgment messages arenot required by the incremental bandwidth request/grant protocols.Disadvantageously, when an incremental bandwidth request is lost, thebase station loses synchronization with the CPE connection, and therebyloses track of the aggregate bandwidth needs of the CPE. Synchronizationis lost because the base stations typically calculate aggregatebandwidth needs by adding each incremental bandwidth request to theprevious aggregate bandwidth needs estimate. Thus, the base station andthe CPE connection will remain out of synchronization until the CPEconnection is reset.

Some bandwidth request/grant protocol systems have attempted to solvebandwidth allocation requirements in a system having a shared systemresource by utilizing “zero bandwidth request” (ZBR) messages. One suchexemplary bandwidth allocation system is known as a zero bandwidthrequest message protocol system and is now described. ZBR messageprotocol systems utilize “padding packets” and the well-known TDMAmultiplexing scheme. In the well-known TDMA multiplexing scheme, a BSdesignates a portion of its uplink sub-frame (i.e., bandwidth) to anassociated CPE. The associated CPE transmits data to the BS on theuplink. When a CPE does not have enough uplink data to utilize itsentire portion of bandwidth (i.e., it has too much bandwidthallocation), it transmits padding packets to “pad” or fill its unusedportion of bandwidth. The CPE then transmits a ZBR message to itsassociated base station (BS) to request a reduction in the CPE'sbandwidth allocation. The CPE's associated BS then reduces the CPE'sbandwidth allocation accordingly.

Disadvantageously in ZBR message protocol systems, utilization of ZBRmessages decreases a communication systems overall speed. Base stationsand CPEs require increased processing time to process and transmit ZBRmessages, respectively. A BS requires increased processing time toprocess ZBR messages. This disadvantage is magnified in typicalcommunication systems because a BS typically receives ZBR messages fromhundreds of associated CPEs. Thus, each BS in the communication systemrequires relatively large amounts of time to process these ZBR messages.

Another disadvantage of zero bandwidth request message protocol systemsis that CPEs can become “confused” when deciding whether to transmitzero bandwidth requests to their associated base stations. For example,a CPE has the following status: a CG connection rate of one cell persecond and a DAMA connection with no data available. When the CPE'sassociated BS allocates one cell within a one-second time interval thecell may not yet be available within the CPE's ATM controller queues. Inaccordance with the ZBR protocol system, the CPE should transmit a ZBRmessage because of the “no data available” status of the DAMAconnection. However, the CPE does not know whether or not a CG cell isgoing to be sent and thus it does not know whether or not to transmit aZBR message to its associated BS. Thus, the CPE becomes confused and canerroneously transmit or refrain from transmitting a ZBR message.

A need exists for a bandwidth request/grant protocol method andapparatus that efficiently processes and responds to bandwidthallocation requests. The bandwidth allocation method and apparatusshould accommodate an arbitrarily large number of CPEs generatingfrequent and varying bandwidth allocation requests on the uplink of awireless communication system. For example, in the system shown in FIG.1, as many as one hundred CPEs may be allowed to be simultaneouslyactive, coordinating their transmissions on the uplink. Furthermore, thesystem can accommodate approximately one thousand CPEs on the physicalchannel. Such a bandwidth allocation method and apparatus should beefficient in terms of the amount of bandwidth consumed by the bandwidthrequest and grant messages that are exchanged between the plurality ofbase stations and the plurality of CPEs. That is, the plurality ofbandwidth requests generated by the CPE should consume a minimumpercentage of available uplink bandwidth. In addition, the bandwidthallocation method and apparatus should respond to the bandwidthallocation requests in a timely and accurate manner. The method andapparatus should be responsive to the needs of a particularcommunication link. The bandwidth needs may vary due to several factors,including the type of service provided over the link and the user type.Bandwidth should be allocated to high priority services in asufficiently short time frame to maintain the quality of servicespecified by the CPE. The bandwidth request/grant protocol method andapparatus should correct itself when a bandwidth request is lost due tothe noise or interference effects present on an air link.

SUMMARY OF THE INVENTION

The present invention is a method and apparatus for requesting andallocating bandwidth in a broadband wireless communication system. Inone embodiment, the method and apparatus is a self-correcting bandwidthrequest/grant protocol that efficiently allocates bandwidth in thewireless communication system. The self-correcting bandwidthrequest/grant protocol utilizes a combination of incremental andaggregate bandwidth requests. CPEs primarily transmit incrementalbandwidth requests to associated and respective base stations. The CPEsalso periodically transmit aggregate bandwidth requests to theirassociated base stations. By primarily requiring incremental bandwidthrequests, the possibility that a base station will erroneously issueduplicate bandwidth allocations to the same CPE for the same connectionis vastly reduced. Race conditions that may have occurred when onlyaggregate bandwidth requests are transmitted are eliminated by requiringthe CPEs to request bandwidth in an incremental manner.

In addition, by requiring the CPEs to periodically transmit aggregatebandwidth requests (that express the current state of their respectiveconnection queues), the bandwidth allocation method and apparatus is“self-correcting”. The bandwidth allocation method and apparatus isself-correcting because any lost incremental bandwidth requests aredetected by the base stations when the aggregate bandwidth requests arereceived from their respective CPEs. Upon receipt and processing of theaggregate bandwidth requests, the base stations reset their records tocorrectly reflect the current bandwidth requirements of their associatedCPEs. Periodic use of aggregate bandwidth requests provides aself-correcting bandwidth allocation protocol yet without the bandwidthoverhead (e.g., bandwidth required to transmit acknowledgements)typically associated with the prior art self-correcting protocols (suchas the guaranteed delivery protocols).

In wireless communication systems, DAMA services are allocated bandwidthon a demand-assignment basis. When a CPE requires additional bandwidthon a DAMA connection, it transmits a bandwidth request message to anassociated base station. The CPE transmits an incremental bandwidthrequest to its associated base station. Periodically (e.g., every fifthbandwidth request), the CPE transmits an aggregate bandwidth request toits associated base station. The aggregate bandwidth request is used bythe base station to “reset” (or update) its records to reflect the CPE'scurrent bandwidth requirements. In this manner, the present bandwidthallocation protocol is said to be “self-correcting.” In additionalembodiments, four consecutive incremental bandwidth requests aretransmitted, followed by one aggregate bandwidth request transmission.In alternative embodiments, alternative patterns of consecutiveincremental and aggregate bandwidth requests can be used.

In one embodiment, the method and apparatus utilizes an abridgedbandwidth request/grant protocol to allocate bandwidth. This embodimentutilizes padding packets to request a reduction in bandwidth allocationto a CPE. In one embodiment, a base station modem alerts a base stationCPU when the BS modem receives padding packets from a CPE. Afteralerting the BS CPU the present inventive method can reduce theassociated CPE's bandwidth allocation.

The embodiments herein disclosed reduce the amount of bandwidth thatmust be allocated for bandwidth request and bandwidth allocationpurposes. The opportunities for allowing a CPE to request bandwidth arevery tightly controlled and utilize a combination of a number ofbandwidth request and allocation techniques to control the bandwidthrequest process. There are a number of means by which a CPE can transmita bandwidth request message to an associated base station.

One such means uses a “polling” technique whereby a base station pollsone or more CPEs and allocates bandwidth specifically for the purpose ofallowing the CPEs to respond with a bandwidth request. The polling ofthe CPEs by the base station may be in response to a CPE setting a“poll-me bit” or, alternatively, it may be periodic. In accordance withthe present invention, periodic polls may be made to individual CPEs, togroups of CPEs, or to every CPE on a physical channel. When individuallypolling a CPE, the base station polls an individual CPE by allocatinguplink bandwidth in an uplink sub-frame map to allow the CPE to respondwith a bandwidth request. Similarly, in group polling, the base stationpolls several CPEs by allocating uplink bandwidth in the uplinksub-frame map to allow the CPEs to respond with a bandwidth request. TheCPEs must contend for the allocated bandwidth if collisions occur.Bandwidth allocations are not in the form of an explicit message that iscommunicated by the base station to the CPEs, but rather the bandwidthallocations are transmitted implicitly by allocating bandwidth in theuplink sub-frame map.

Another means used in reducing bandwidth consumed by the bandwidthrequest messages is the technique of “piggybacking” bandwidth requestson bandwidth already allocated to a CPE. In accordance with thistechnique, currently active CPEs request bandwidth using previouslyunused portions of uplink bandwidth that is already allocated to theCPE. Alternatively, the bandwidth requests can be piggybacked on uplinkbandwidth already allocated and currently being used by a data service.In accordance with this alternative, the CPE “steals” bandwidth alreadyallocated for a data connection by inserting bandwidth requests in timeslots previously used for data.

The CPE is responsible for distributing the allocated uplink bandwidthin a manner that accommodates the services provided by the CPE. The CPEis free to use the uplink bandwidth that was allocated to it in a mannerthat is different than that originally requested or granted by the basestation. The CPE advantageously determines which services to givebandwidth to and which services must wait for subsequent bandwidthrequests. One advantage of having the CPE determine how to distributeits allocated bandwidth is that it relieves the base station fromperforming this task. In addition, the communication overhead that isrequired by having the base station instruct the CPE how to distributeits allocated bandwidth is eliminated. By using a combination ofbandwidth allocation techniques, the system advantageously makes use ofthe efficiency benefits associated with each technique.

The base station media access control (“MAC”) allocates availablebandwidth on a physical channel on the uplink and the downlink. Withinthe uplink and downlink sub-frames, the base station MAC allocates theavailable bandwidth between the various services depending upon thepriorities and rules imposed by their quality of service (“QoS”). Thebase station MAC maintains a set of queues for each physical channelthat it serves. Within each physical channel queue set, the base stationmaintains a queue for each QoS. The queues hold data that is ready to betransmitted to the CPEs present on the physical channel. The basestation higher MAC control layers are free to implement any convenientfairness or traffic shaping algorithms regarding the sharing of accessbetween connections at the same QoS, without impacting the base stationlower MAC control layers. In determining the amount of bandwidth toallocate at a particular QoS for a particular CPE, the base stationtakes into account the QoS, modulation, and the fairness criteria usedto keep an individual CPE from using up all available bandwidth. In oneembodiment, the base station attempts to balance the uplink/downlinkbandwidth allocations using an adaptive time-division duplexingtechnique (ATDD).

The uplink bandwidth allocation method is very similar to the downlinkbandwidth allocation except that, rather than being maintained by thebase station, the data queues are distributed across and maintained byeach individual CPE. Rather than check the queue status directly, thebase station preferably receives requests for bandwidth from the CPEsusing the techniques described above.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a broadband wireless communication system adapted for usewith the present invention.

FIG. 2 shows a TDD frame and multi-frame structure that can be used bythe communication system of FIG. 1 in practicing the present invention.

FIG. 3 shows an example of a downlink sub-frame that can be used by thebase stations to transmit information to the plurality of CPEs in thewireless communication of FIG. 1.

FIG. 4 shows an exemplary uplink sub-frame that is adapted for use withthe present bandwidth allocation invention.

FIG. 5 is a flow diagram showing the information exchange sequence usedin practicing the individual polling technique of the present invention.

FIG. 6 is a flow diagram showing the individual polling technique of thepresent invention.

FIG. 7 shows an exemplary uplink sub-frame map that is used tofacilitate the present multicast/broadcast bandwidth allocationtechnique.

FIG. 8 is a flow diagram showing the multicast and broadcast pollingtechnique of the present invention.

FIG. 9 is a flow diagram showing use of a “poll-me” to stimulate pollingof a CPE in accordance with the present invention.

FIG. 10 shows the message sequence that is used by the present inventionin requesting polls using the “poll-me” bit.

FIG. 11 is a flow diagram showing the bandwidth request piggybackingprocess of the present invention.

FIG. 12 shows the downlink bandwidth allocation method used by thepresent invention.

FIG. 13 shows the uplink bandwidth allocation method used by the presentinvention.

FIG. 14 shows a simplified block diagram of an exemplary communicationsystem adapted for use with embodiments disclosed herein.

FIG. 15 a is a flow diagram showing one embodiment of theself-correcting bandwidth request/grant protocol method.

FIG. 15 b is a flow diagram showing another embodiment of theself-correcting bandwidth request/grant protocol method.

FIG. 16 shows a flowchart for one embodiment of the abridged bandwidthrequest/grant protocol method.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION OF THE INVENTION

Throughout this description, the preferred embodiment and examples shownshould be considered as exemplars, rather than as limitations on thepresent invention.

The embodiments of the present invention are methods and apparatuses forbandwidth request/grant protocols that allocate bandwidth in a broadbandwireless communication system. One very important performance criterionof a broadband wireless communication system, and any communicationsystem for that matter having a physical communication medium shared bya plurality of users, is how efficiently the system uses the physicalmedium. Because wireless communication systems are shared-mediumcommunication networks, access and transmission by subscribers to thenetwork must be controlled. In wireless communication systems a MediaAccess Control (“MAC”) protocol typically controls user accesses to thephysical medium. The MAC determines when subscribers are allowed totransmit on the physical medium. In addition, if contentions arepermitted, the MAC controls the contention process and resolves anycollisions that occur.

In the system shown in FIG. 1, the MAC executed by software present inthe base stations 106 (in some embodiments, the software may execute onprocessors both in the base stations and the CPE) control thetransmission time for all of the CPEs 110. The base stations 106 receiverequests for transmission rights and grant these requests within thetime available taking into account the priorities, service types,quality of service and other factors associated with the CPEs 110. Asdescribed above in the background of the invention, the servicesprovided by the CPEs 110 TDM information such as voice trunks from aPBX. At the other end of the service spectrum, the CPEs may uplinkbursty yet delay-tolerant computer data for communication with thewell-known World Wide Web or Internet.

The base station MAC maps and allocates bandwidth for both the uplinkand downlink communication links. These maps are developed andmaintained by the base station and are referred to as the UplinkSub-frame Maps and Downlink Sub-frame Maps. The MAC must allocatesufficient bandwidth to accommodate the bandwidth requirements imposedby high priority constant bit rate (CBR) services such as T1, E1 andsimilar constant bit rate services. In addition, the MAC must allocatethe remaining system bandwidth across the lower priority services suchas Internet Protocol (IP) data services. The MAC distributes bandwidthamong these lower priority services using various QoS dependenttechniques such as fair-weighted queuing and round-robin queuing.

The downlink of the communication system shown in FIG. 1 operates on apoint-to-multi-point basis (i.e., from the base station 106 to theplurality of CPEs 110). As described in U.S. Pat. No. 6,016,311, thecentral base station 106 includes a sectored active antenna array 108which is capable of simultaneously transmitting to several sectors. Inone embodiment of the system 100, the active antenna array 108 transmitsto six independent sectors simultaneously. Within a given frequencychannel and antenna sector, all stations receive the same transmission.The base station is the only transmitter operating in the downlinkdirection, hence it transmits without having to coordinate with otherbase stations, except for the overall time-division duplexing thatdivides time into upstream (uplink) and downstream (downlink)transmission periods. The base station broadcasts to all of the CPEs ina sector (and frequency). The CPEs monitor the addresses in the receivedmessages and retain only those addressed to them.

The CPEs 110 share the uplink on a demand basis that is controlled bythe base station MAC. Depending upon the class of service utilized by aCPE, the base station may issue a selected CPE continuing rights totransmit on the uplink, or the right to transmit may be granted by abase station after receipt of a request from the CPE. In addition toindividually addressed messages, messages may also be sent by the basestation to multicast groups (control messages and video distribution areexamples of multicast applications) as well as broadcast to all CPEs.

Within each sector, in accordance with the present invention, CPEs mustadhere to a transmission protocol that minimizes contention between CPEsand enables the service to be tailored to the delay and bandwidthrequirements of each user application. As described below in moredetail, this transmission protocol is accomplished through the use of apolling mechanism, with contention procedures used as a backup mechanismshould unusual conditions render the polling of all CPEs unfeasible inlight of given delay and response-time constraints. Contentionmechanisms can also be used to avoid individually polling CPEs that areinactive for long time periods. The polling techniques provided by thepresent inventive method and apparatus simplifies the access process andguarantees that service applications receive bandwidth allocation on adeterministic basis if required. In general, data service applicationsare relatively delay-tolerant. In contrast, real-time serviceapplications such as voice and video services require that bandwidthallocations be made in a timely manner and in adherence to verytightly-controlled schedules.

Frame Maps—Uplink and Downlink Sub-Frame Mappings

In one embodiment, the base stations 106 maintain sub-frame maps of thebandwidth allocated to the uplink and downlink communication links. Asdescribed in the related and incorporated U.S. Pat. No. 6,016,311, theuplink and downlink are multiplexed in a time-division duplex (or “TDD”)manner. In one embodiment, a frame is defined as comprising Nconsecutive time periods or time slots (where N remains constant). Inaccordance with this “frame-based” approach, the communication systemdynamically configures the first N₁ time slots (where N is greater thanor equal to N₁) for downlink transmissions only. The remaining N₂ timeslots are dynamically configured for uplink transmissions only (where N₂equals N−N₁). Under this TDD frame-based scheme, the downlink sub-frameis preferably transmitted first and is prefixed with information that isnecessary for frame synchronization.

As is well known in the communications art, in another communicationsystem, the uplink and downlink can be multiplexed using the well knownfrequency-division duplex (or “FDD”) approach. FDD techniques are wellknown in the communication arts and thus are not described in moredetail herein. However, one exemplary TDD system is described in detailherein. The invention present invention can be used in both thedescribed TDD communication system, or in an FDD communication system.

FIG. 2 shows a TDD frame and multi-frame structure 200 that can be usedby a communication system (such as that shown in FIG. 1) in practicingthe embodiments. As shown in FIG. 2, the TDD frame is subdivided into aplurality of physical slots (PS) 204. In the embodiment shown in FIG. 2,the frame is one millisecond in duration and includes 800 physicalslots. Alternatively, the present invention can be used with frameshaving longer or shorter duration and with more or fewer PSs. Theavailable bandwidth is allocated by a base station in units of a certainpre-defined number of PSs. Some form of digital encoding, such as thewell-known Reed-Solomon encoding method, is performed on the digitalinformation over a pre-defined number of bit units referred to asinformation elements (PI). The modulation may vary within the frame anddetermines the number of PS (and therefore the amount of time) requiredto transmit a selected PI.

As described in the incorporated U.S. Pat. No. 6,016,311, in oneembodiment of the broadband wireless communication system shown in FIG.1, the TDD framing is adaptive. That is, the number of PSs allocated tothe downlink versus the uplink varies over time. The present bandwidthallocation method and apparatus can be used in both adaptive and fixedTDD systems using a frame and multi-frame structure similar to thatshown in FIG. 2. As described above, the embodiments disclosed hereincan also be used in FDD communication systems. As shown in FIG. 2, toaid periodic functions, multiple frames 202 are grouped intomulti-frames 206, and multiple multi-frames 206 are grouped intohyper-frames 208. In one embodiment, each multi-frame 206 comprises twoframes 202, and each hyper-frame comprises twenty-two multi-frames 206.Other frame, multi-frame and hyper-frame structures can be used with thepresent invention. For example, in another embodiment of the presentinvention, each multi-frame 206 comprises sixteen frames 202, and eachhyper-frame comprises thirty-two multi-frames 206. Exemplary downlinkand uplink sub-frames are shown respectively in FIGS. 3 and 4.

Downlink Sub-Frame Map

FIG. 3 shows one example of a downlink sub-frame 300 that can be used bythe base stations 106 to transmit information to the plurality of CPEs110. The base station preferably maintains a downlink sub-frame map thatreflects the downlink bandwidth allocation. The downlink sub-frame 300preferably comprises a frame control header 302, a plurality of downlinkdata PSs 304 grouped by modulation type (e.g., PS 304 data modulatedusing a QAM-4 modulation scheme, PS 304′ data modulated using QAM-16,etc.) and possibly separated by associated modulation transition gaps(MTGs) 306 used to separate differently modulated data, and atransmit/receive transition gap 308. In any selected downlink sub-frameany one or more of the differently modulated data blocks may be absent.In one embodiment, modulation transition gaps (MTGs) 306 are 0 PS induration. As shown in FIG. 3, the frame control header 302 contains apreamble 310 used by the physical protocol layer (or PHY) forsynchronization and equalization purposes. The frame control header 302also includes control sections for both the PHY (312) and the MAC (314).

The downlink data PSs are used for transmitting data and controlmessages to the CPEs 110. This data is preferably encoded (using aReed-Solomon encoding scheme for example) and transmitted at the currentoperating modulation used by the selected CPE. Data is preferablytransmitted in a pre-defined modulation sequence: such as QAM-4,followed by QAM-16, followed by QAM-64. The modulation transition gaps306 contain preambles and are used to separate the modulations. The PHYControl portion 312 of the frame control header 302 preferably containsa broadcast message indicating the identity of the PS 304 at which themodulation scheme changes. Finally, as shown in FIG. 3, the Tx/Rxtransition gap 308 separates the downlink sub-frame from the uplinksub-frame which is described in more detail below.

Uplink Sub-Frame Map

FIG. 4 shows one example of an uplink sub-frame 400 that is adapted foruse with the present bandwidth allocation invention. In accordance withthe present bandwidth allocation method and apparatus, the CPEs 110(FIG. 1) use the uplink sub-frame 400 to transmit information (includingbandwidth requests) to their associated base stations 106. As shown inFIG. 4, there are three main classes of MAC control messages that aretransmitted by the CPEs 110 during the uplink frame: (1) those that aretransmitted in contention slots reserved for CPE registration(Registration Contention Slots 402); (2) those that are transmitted incontention slots reserved for responses to multicast and broadcast pollsfor bandwidth allocation (Bandwidth Request Contention Slots 404); andthose that are transmitted in bandwidth specifically allocated toindividual CPEs (CPE Scheduled Data Slots 406).

The bandwidth allocated for contention slots (i.e., the contention slots402 and 404) is grouped together and is transmitted using apredetermined modulation scheme. For example, in the embodiment shown inFIG. 4 the contention slots 402 and 404 are transmitted using a QAM-4modulation. The remaining bandwidth is grouped by CPE. During itsscheduled bandwidth, a CPE 110 transmits with a fixed modulation that isdetermined by the effects of environmental factors on transmissionbetween that CPE 110 and its associated base station 106. The downlinksub-frame 400 includes a plurality of CPE transition gaps (CTGs) 408that serve a similar function to the modulation transition gaps (MTGs)306 described above with reference to FIG. 3. That is, the CTGs 408separate the transmissions from the various CPEs 110 during the uplinksub-frame. In one embodiment, the CTGs 408 are 2 physical slots induration. A transmitting CPE preferably transmits a 1 PS preamble duringthe second PS of the CTG 408 thereby allowing the base station tosynchronize to the new CPE 110. Multiple CPEs 110 may transmit in theregistration contention period simultaneously resulting in collisions.When a collision occurs the base station may not respond.

By using the bandwidth allocation method and apparatus disclosed herein,scheduled uplink traffic data is bandwidth allocated to specific CPEs110 for the transmission of control messages and services data. The CPEscheduled data is ordered within the uplink sub-frame 400 based upon themodulation scheme used by the CPEs 110. In accordance with the presentinvention and in the manner described in detail below, bandwidth isrequested by a CPE 110 and is subsequently granted by an associated basestation 106. All of the bandwidth allocated to a selected CPE within agiven TDD frame (or alternatively an adaptive TDD frame, as the case maybe) is grouped into a contiguous CPE scheduled data block 406. Thephysical slots allocated for the CTGs 408 are included in the bandwidthallocation to a selected CPE 110 in the base station uplink sub-framemap.

In addition to the bandwidth that is allocated for the transmission ofthe various types of broadband services (i.e., the bandwidth allocatedfor the CPE scheduled data slots 406), and the bandwidth allocated forCPE registration contention slots, bandwidth must also be allocated bythe base station MAC for control messages such as requests foradditional bandwidth allocations. As described in more detail below, inaccordance with the present invention, CPEs 110 request changes to theirbandwidth allocations by making bandwidth requests of their associatedbase stations 106. The present inventive method and apparatus reducesthe amount of bandwidth that must be set aside for these bandwidthallocation requests. In accordance with the present invention, theopportunities for requesting bandwidth are very tightly controlled. Thepresent invention advantageously utilizes a combination of a number oftechniques to tightly control the bandwidth request process. There are anumber of means by which a CPE can transmit a bandwidth request messageto its associated base station.

For example, one such means uses a “polling” technique whereby a basestation polls one or more CPEs and allocates bandwidth specifically forthe purpose of allowing the CPE(s) to transmit bandwidth requests. Inaccordance with this method, the polling of CPEs by the base station maybe in response to a CPE setting a “poll-me bit” in an upstream directionor it may be periodic. In accordance with the present invention,periodic polls may be made to individual CPEs (referred to as“reservation-based” polling), to groups of CPEs (“multicast” polling),or to every CPE on a physical channel (“broadcast” polling). Inreservation-based polling, the base station polls an individual CPE andthen allocates uplink bandwidth to allow the CPE to respond with abandwidth request. Similarly, in multicast and broadcast polling, thebase station polls several CPEs and then allocates uplink bandwidth toallow the CPEs to respond with a bandwidth request. However, the CPEsmust contend for the allocated bandwidth if collisions occur.Advantageously, neither the bandwidth polls nor the bandwidthallocations are in the form of explicit messages that are communicatedby the base station to the CPEs. Rather, the bandwidth polls compriseunsolicited grants of bandwidth sufficient for transmitting bandwidthrequests. Bandwidth allocations are implicit via bandwidth allocationsoccurring in the uplink sub-frame map. The polling techniques aredescribed in more detail below with reference to FIGS. 4-10.

As shown in FIG. 4, a portion of the uplink bandwidth may periodicallybe allocated for these bandwidth allocation or CPE connection requests.The uplink sub-frame 400 includes a plurality of bandwidth requestcontention slots 404. A CPE 110 must first be registered and achieveuplink synchronization with a base station before it is allowed torequest bandwidth allocation. Therefore there is no need to allow fortransmit time uncertainties in the length of the bandwidth requestcontention period. Consequently the bandwidth request contention periodmay be as small as a single PI, which, in one embodiment, at QAM-4requires 6 PS. As with the registration requests, if a collision occurs,the base station may not respond to the CPE. If, however, the basestation successfully receives a bandwidth request message from a CPE, itresponds by allocating the CPE additional scheduled data 406 bandwidthin the uplink sub-frame 400. The various polling techniques used by thepresent invention help to minimize the need to use the contention slots404. These techniques are described in more detail below.

Another means used by the present invention in reducing the bandwidthconsumed by the bandwidth request messages is the technique of“piggybacking” bandwidth requests on bandwidth already allocated to aCPE. In accordance with this technique, currently active CPEs requestbandwidth using previously unused portions of uplink bandwidth that isalready allocated to the CPE. The necessity of polling CPEs is therebyeliminated. In an alternative embodiment of the present invention,bandwidth requests are piggybacked on uplink bandwidth allocated andactively being used by a data service. In accordance with thisalternative, the CPE “steals” bandwidth already allocated for a dataconnection by inserting bandwidth requests in time slots previously usedfor data. The details of these piggybacking techniques are described inmore detail below with reference to FIG. 11.

Once a CPE is allocated bandwidth by the base station, the CPE, not thebase station, is responsible for using the uplink bandwidth in a mannerthat can accommodate the services provided by the CPE. The CPE is freeto use the uplink bandwidth that was allocated to it in a manner that isdifferent than originally requested or granted by the base station. Forexample, the service requirements presented to a selected CPE can changeafter the selected CPE requests bandwidth from its associated basestation. The CPE advantageously determines which services to givebandwidth to and which services must wait for subsequent bandwidthrequests. To this end, the CPE maintains a priority list of services.Those services having higher priority (e.g., those services having highquality of service demands) will be allocated bandwidth before thoseservices having lower priority (e.g., IP-type data services). If the CPEdoes not have sufficient bandwidth to meet its service requirements, theCPE will request additional bandwidth allocations by either setting itspoll-me bit or by piggybacking a bandwidth allocation request.

One advantage of having the CPE determine how to distribute itsallocated bandwidth is that it relieves the base station from performingthis task. In addition, the communication overhead that is required byhaving the base station instruct the CPE how to distribute its allocatedbandwidth is thereby eliminated, thus increasing usable systembandwidth. In addition, the CPE is in a much better position to respondto the varying uplink bandwidth allocation needs of high quality ofservice data services. Therefore, the CPE can better accommodate theneeds of these types of service requirements than can the base station.

The various techniques used to enhance the efficiency of the bandwidthallocation request process are described in more detail below in thesub-sections that follow. Although these techniques are described inseparate sub-sections, the present inventive method and apparatusadvantageously uses all of the techniques in combination to reduce thebandwidth consumed by the bandwidth allocation requests.

Thus, the present invention advantageously makes use of the efficiencybenefits associated with each bandwidth allocation technique. Forexample, although an individual polling technique is beneficial withregard to the ability to provide fast response times to bandwidthallocation requests, it is relatively inefficient with regard to theamount of bandwidth consumed by the bandwidth allocation process. Incontrast, the group polling method is relatively efficient with regardto the bandwidth consumed by the bandwidth allocation process, but it isless efficient with regard to the ability to respond to bandwidthallocation requests. Use of a “poll-me” bit is relatively efficient whenconsidered from both the bandwidth consumption and response timeperspectives. In addition, the piggybacking technique further enhancesbandwidth consumption efficiency by using previously unused portions ofthe bandwidth to send the bandwidth allocation requests. In contrast tothe prior art approaches, the present invention advantageously uses allof these bandwidth allocation techniques in combination to maximizeefficiency.

Polling

In one embodiment of the broadband wireless system 100 of FIG. 1designed for use with the present invention, a CPE 110 is assigned adedicated connection identifier (ID) when the CPE 110 first registerswith the system 100. The ID is used when the base station 106 exchangescontrol messages with the plurality of CPEs 110. As described above,variations in bandwidth requirements (i.e., increases or decreases tobandwidth requirements) are necessary for all services transported bythe system 100 with the exception of uncompressible constant bit rate,or continuous grant (CG) services. The bandwidth requirements ofuncompressible CG services do not change between connectionestablishment and termination. The requirements of compressible CGservices, such as channelized-T1 services, may increase or decreasedepending on traffic.

In contrast, many of the data services facilitated by the system 100 ofFIG. 1 are bursty and delay-tolerant. Because bandwidth is provided tothese services on a demand assignment basis as needed these services arecommonly referred to as Demand-Assigned Multiple Access or “DAMA”services. When a CPE 110 needs to request bandwidth for a DAMA serviceit transmits a bandwidth request message to the base station 106. Thebandwidth request messages communicate the immediate bandwidthrequirements for the DAMA service. The bandwidth requirements can andtypically do vary over time. The quality of service or “QoS” for theDAMA connection is established when the CPE connection is initiallyestablished with the base station. Therefore, the base station has theability to access or “look-up” the QoS for any DAMA service that it iscurrently accommodating.

As described above, in accordance with the present invention, the CPEs110 have a number of different techniques available to them forcommunicating bandwidth request messages to their associated basestations. One such technique is by transmitting a bandwidth requestmessage in response to being polled by a base station. In accordancewith the polling technique taught by the present invention, the basestation allocates bandwidth to selected CPEs specifically for thepurpose of making bandwidth requests. The bandwidth allocations may beto individual CPEs or to groups of CPEs. As described in more detailbelow in the sub-section that describes the group polling technique,allocations to groups of CPEs define bandwidth request contention slotsthat are used in resolving bandwidth request collisions. Advantageously,the bandwidth allocations are not made in the form of explicit messages,but rather they are made in the form of bandwidth allocation increasesin the transmitted map describing the uplink sub-frame 400 (FIG. 4).Polling is performed on a per-CPE basis, bandwidth is requested on aper-connection-ID basis, and bandwidth is allocated on a per-CPE basis.These concepts are described in more detail below.

Reservation-Based Polling Technique (Individual Polling)

In accordance with the present inventive method and apparatus, when aCPE is polled individually, no explicit message is transmitted to pollthe selected CPE. Rather, the CPE is allocated bandwidth in the uplinksub-frame map that is sufficient to allow the CPE to respond with thebandwidth request. Specifically, the base station allocates bandwidth inthe CPE scheduled data block 406 (FIG. 4) for the selected CPE that issufficient to allow the selected CPE to respond with a bandwidth requestmessage. If the selected CPE does not require more bandwidth, it returnsa request for zero bytes. A zero byte request (rather than no request)is used in the individual polling process because explicit bandwidth fora reply is allocated.

In accordance with the present invention, only inactive CPEs and activeCPEs that explicitly request to be polled are eligible for individualpolling. Active CPEs that do not set their respective “poll-me” bits inthe MAC packet header will not be polled individually. Theserestrictions are imposed upon the bandwidth request process by thepresent invention and they advantageously save bandwidth compared withpolling all of the CPEs individually. In one embodiment of the presentinvention, active CPEs respond to polling using the modulation schemecurrently in use. However, inactive CPEs may respond using a QAM-4 orsimilarly robust modulation scheme to ensure that their transmission issufficiently robust to be detected by the base station even underadverse environmental conditions.

The present invention advantageously ensures timely responses torequests for more bandwidth for a constant bit rate service such as achannelized T1 service in which channels may be added or droppeddynamically. To ensure that the base station responds quickly torequests for more bandwidth for a constant bit rate service, the uplinkbandwidth allocated to a constant bit rate service that is not currentlyoperating at a maximum rate is made sufficiently large to accommodatethe service's current rate and a bandwidth request.

The information exchange sequence for individual polling is shown in theflow diagram of FIG. 5. As shown in FIG. 5, the base station preferablyhas several layers of control mechanisms or protocol stacks 502, 504 and506 that control, among other things, the bandwidth request andallocation process. The base station MAC is sub-divided into twosub-domains: (1) the HL-MAA MAC domain 504 and the LL-MAA Mac domain506. The LL-MAA MAC domain spans exactly a physical channel. Eachphysical channel requires an instance of the LL-MAA MAC domain. TheHL-MAA MAC domain spans multiple physical channels, typically all in thesame sector. A MAC domain comprises an HL-MAA MAC domain and the LL-MAAMAC domains associated with the physical channels within the HL-MAA MACdomain.

As shown in FIG. 5, the base station individually polls (as indicated bycontrol arrow 508) a CPE by allocating bandwidth sufficient for the CPEto respond with a bandwidth request message. This bandwidth is allocatedin the uplink sub-frame 400. If the CPE MAC 510 determines that there isdata to be sent for a selected connection k (typically determined bybeing instructed by a higher CPE control layer 512 via a control path514), then the CPE MAC control mechanism issues a bandwidth request 516to the base station MAC 506. If there is insufficient bandwidthavailable to the CPE 110 as determined by the base station's LL-MAA 506,the bandwidth request will not be granted. Else, the bandwidth requestwill be granted and this will be implicitly communicated to the CPE MAC510 by the base station allocating additional bandwidth to the CPE inthe uplink sub-frame 400. This is shown in FIG. 5 via the control path518. The CPE will then begin transmitting data to the base station overthe uplink using the bandwidth that has been allocated to it.

FIG. 6 is a flow diagram showing the individual polling technique 600provided by the present invention. As shown in FIG. 6, the method startsat decision STEP 602 to determine whether bandwidth is available for thepurpose of individually polling the CPEs. If no more bandwidth isavailable for individually polling the CPEs 110 then the method proceedsto STEP 604 and initiates a multicast or broadcast polling method. Thismulticast and broadcast polling method is described in detail in thesub-section below. However, if sufficient bandwidth is available for thepurpose of individually polling CPEs, the method proceeds to a decisionSTEP 606 whereat a determination is made whether there are any un-polledactive CPEs that have a “poll-me” bit set. If so, the method proceeds toa control point 608. If not, the method proceeds to a decision STEP 610whereat it determines whether there are any un-polled inactive CPEspresent. If so, the method proceeds to the control point 608. If not,the method proceeds to a control point 612.

The present inventive method proceeds from the control point 608 to STEP614 to individually poll the selected CPE. Thus, the method ensures thatonly un-polled active CPEs requesting more bandwidth (by setting theirrespective “poll-me” bits) and inactive CPEs are individually polled.This reduces bandwidth as compared with a polling method that wouldindividually poll all CPEs.

As shown in FIG. 6, at STEP 614 the base station initiates the pollingof the selected CPE and marks the CPE as polled. This is showndiagrammatically in FIG. 6 in the caption box 614′. The caption box 614′of FIG. 6 shows the downlink sub-frame map 300 described above in FIG.3. The MAC control portion 314 of the MAC frame control header 302preferably includes an uplink sub-frame map 400′. The uplink sub-framemap 400′ is communicated to the CPE MAC when the base station transmitsthis information to the CPE via the downlink. As shown in FIG. 6, andresponsive to the polling STEP 614, the base station MAC allocatesadditional bandwidth to the selected CPE (in FIG. 6 this CPE is referredto as CPE “k”) in the uplink. This increased bandwidth allocation iscommunicated to the CPE k via the uplink sub-frame map 400′. Thus, noadditional bandwidth is needed to respond to the need to poll theselected CPE.

As shown in FIG. 6, the method then returns to the decision STEP 602 todetermine whether there is more bandwidth available for individuallypolling the CPEs. When it is determined (at the decision STEPS 606 and610, respectively) that there are no active CPEs having a poll-me bitset and that there are no un-polled inactive CPEs present, the methodproceeds to a decision STEP 616. At the decision STEP 616, the methoddetermines whether any individual polls were performed. If not, themethod proceeds to a control point 618 and the method subsequentlyterminates at the termination step 620. However, if individual pollswere performed, the method proceeds to a STEP 622 to await theindividual bandwidth requests from the CPE that was polled (e.g., CPE“k”). As shown in the caption 622′ of FIG. 6, this bandwidth request 430is generated by the polled CPE (e.g., CPE “k”) during the CPE scheduleddata block 406 scheduled for the selected CPE in the uplink sub-frame400. In one embodiment, all data includes a header that indicates thetype of data being transmitted. For example, in this embodiment, controlmessages have associated CPE-unique connection identifiers that areassigned to them when the CPE registers. The structure of the controlmessages allows a base station to determine that a control message is abandwidth request.

As shown in FIG. 6, the method proceeds from STEP 622 to a decision STEP624 to determine whether any bandwidth requests were received. If not,the method terminates. However, if so, the method proceeds to a STEP 626whereat a bandwidth allocation method is initiated. As described in moredetail below the base station uses a bandwidth allocation method toallocate bandwidth to the requesting CPE. In one embodiment, aself-correcting bandwidth request/grant protocol is also used. Detailsof the self-correcting bandwidth request/grant protocol are described inmore detail below with reference to FIGS. 15 a and 15 b. In anotherembodiment, the bandwidth allocation method uses “padding packets” toimprove bandwidth allocation efficiencies in wireless communicationsystems. This embodiment is described in more detail below withreference to FIG. 16. The bandwidth allocation is indicated to the CPEby making appropriate changes to the uplink sub-frame map 400′. Themethod then terminates at STEP 620.

Contention-Based Polling Technique (Multicast and Broadcast Polling)

As described above with reference to STEP 604 of the individual pollingmethod of FIG. 6, if there is not sufficient bandwidth available for thepurpose of individually polling the CPEs, the present invention may beused to poll the CPEs in multicast groups and a broadcast poll may beissued by the base station. Also, if there are more inactive CPEs thanthere is bandwidth available to individually poll them, some CPEs may bepolled in multicast groups and a broadcast poll may be issued.

In accordance with one embodiment, the addressing of CPEs is preferablyperformed as follows: each CPE is assigned a unique permanent address(e.g., in one embodiment the CPE has a 48-bit address) that is used inthe registration process; and each CPE is also given a basic connectionID (e.g., in one embodiment the CPE is given a 16-bit basic connectionID and a 16-bit control connection ID during the registration process).Each service that is provisioned for a selected CPE is also assigned aconnection ID. Connection IDs are generated by the base station MAC(specifically, by the base station HL-MAA) and are unique across anHL-MAA MAC domain. The basic connection ID that is assigned when the CPEis registered with a base station is used by the base station MAC andthe CPE MAC to exchange MAC control messages between the CPE and thebase station. The control connection ID (also assigned duringregistration) is used by the base station and the CPE to exchangecontrol and configuration information between the base station and theCPE higher levels of control.

In accordance with one embodiment, certain connection IDs are reservedfor multicast groups and broadcast messages. Of all of the addressesavailable a portion of them are preferably reserved for multicast use.For example, in one embodiment of the present invention, if the fourmost-significant bits of the connection ID are set to logical ones (hex“Fxxxx”) the address is interpreted as being set aside for multicastuse. In this embodiment, a total of 4K distinct multicast addresses areavailable. One example of such a multicast use is for the distributionof a video service. In one preferred embodiment, the connection ID usedto indicate a broadcast to all stations is (0xFFFF) (i.e., all 16 bitsare set to a logical one).

Similar to the individual polling technique described above withreference to FIGS. 5 and 6, the multicast polling message is notexplicitly transmitted by the base station to the CPE. Rather, themulticast poll message is implicitly transmitted to the CPE when thebase station allocates bandwidth in the uplink sub-frame map. However,rather than associating allocated bandwidth with a CPE's basicconnection ID as done when performing an individual poll, the basestation associates the allocated bandwidth to a multicast or broadcastconnection ID. This multicast/broadcast bandwidth allocation is shown inthe multicast/broadcast uplink sub-frame map 400″ shown in FIG. 7. It isinstructive to compare the uplink sub-frame 400 (FIG. 4) used by thebase station when individual polling the CPEs with the uplink sub-framemap 400″ of FIG. 7. FIG. 7 shows the uplink sub-frame map which istransmitted in the MAC control portion of the downlink.

As shown in FIG. 7, the multicast/broadcast uplink sub-frame map 400″used includes registration contention slots 402″ that map theregistration contention slots 402 of FIG. 4. However, rather thanassociating allocated bandwidth with a selected CPE's basic connectionID, the allocated bandwidth is associated with a reserved registrationID. As shown in FIG. 7, the uplink sub-frame map 400″ preferablyincludes a plurality of multicast group bandwidth request contentionslots 404″, 404′″, etc. The uplink sub-frame map 400″ also includesbroadcast bandwidth request contention slots 410. Finally, similar tothe uplink sub-frame of FIG. 4, the uplink sub-frame map used by thepresent invention to initiate multicast or broadcast polls includes aplurality of CPE scheduled data blocks 406″, 406′″, etc., that are usedto transport uplink traffic data.

In accordance with the present inventive method and apparatus, when apoll is directed to a multicast or broadcast connection ID, CPEsbelonging to the polled group request bandwidth using the bandwidthrequest contention slots (either the multicast contention slots for thegroup specified or the broadcast bandwidth request contention slots 410)allocated in the uplink sub-frame map 400″. In order to reduce thelikelihood of collisions only CPE's needing bandwidth are allowed toreply to multicast or broadcast polls. Zero-length bandwidth requestsare not allowed in the bandwidth request contention slots. In oneembodiment, CPEs transmit the bandwidth requests in the bandwidthrequest contention slots (e.g., contention slots 404) using QAM-4modulation. In this embodiment, the contention slots are sized to hold a1-PS preamble and a bandwidth request message. Due to physicalresolution characteristics, the message requires 1 PI (or 6 PS) usingQAM-4 modulation. In this embodiment, multiple bandwidth requestmessages from the same CPE fit in a single bandwidth request contentionslot without increasing the bandwidth utilization or the likelihood ofcollisions occurring. This allows the same CPE to make multiplebandwidth requests in the same slot.

If an error occurs when performing either a multicast or broadcast poll(such as the detection of an invalid connection ID) the base stationtransmits an explicit error message to the CPE. If the base station doesnot respond with either an error message or a bandwidth allocationwithin a predefined time period, the CPE will assume that a collisionoccurred. In this case the CPE uses a selected pre-defined contentionresolution process. For example, in one preferred embodiment, the CPEuses the well known “slotted ALOHA” contention resolution process toback off and try at another contention opportunity.

Contention Resolution Process

Contention is necessary when there is insufficient time to poll all ofthe CPEs individually within a suitable interval. The base station isable to define contention periods both for multicast groups and also forall CPEs generally (i.e., broadcast). After CPE scheduled data, controlmessages, and polling are allowed for, the base station allocates allunused time in the upstream part of the TDD frame to contention, eitherfor bandwidth requests or for registration purposes. Typically thebandwidth request interval will be many PIs long (e.g., 1 PI=6 PS usingQAM-4 modulation). The CPEs must transmit their requests at a randomtime (on burst boundaries) within this interval to reduce the likelihoodof collisions occurring.

In accordance with the present invention, a CPE needing to transmit in arequest interval preferably randomly selects a PI within the interval,and makes a request in the associated starting PS. This randomizationminimizes the probability of collisions. A collision is presumed ifthere is no response from the base station to the request within apre-defined time period. If the base station does not respond within thepredefined time period the collision resolution process of the presentinvention is initiated.

One embodiment uses the following resolution process: Assuming that theinitial backoff parameter is i and that the final backoff parameter isf,

On the first collision, the CPE waits a random interval between zero and2^(i) contention opportunities and then tries again.

If another collision occurs, then the interval is doubled and the CPEtries again, repeating until the interval 2^(f) is reached.

If the CPE is still unsuccessful, an error is reported to the systemcontroller and the contention process is aborted. Other contentionresolution mechanisms can be used to practice the present invention. Forexample, the well-known Ternary tree mechanism could be used to resolvecontentions.

FIG. 8 is a flowchart showing the multicast and broadcast polling method800 of the present invention. As shown in FIG. 8, the group pollingmethod 800 proceeds from an initial step 802 to a decision STEP 804whereat the method determines whether there is sufficient bandwidthavailable for multicast polls. If sufficient bandwidth is available formulticast polls, the method proceeds to a STEP 806 to poll the nextmulticast group in the MAC control portion 314 of the MAC frame controlheader 302. However, if there is insufficient bandwidth available toperform a multicast poll, the method proceeds to a decision STEP 808whereat the method determines whether there is sufficient availablebandwidth for performing a broadcast poll. If so, the method proceeds toa STEP 810. If not, the method proceeds to a decision STEP 812.

As shown in FIG. 8, at the STEP 810 a broadcast poll is initiated byplacing the broadcast poll in the MAC control portion 314 of the MACframe control header 302. Similar to the individual polling technique,the multicast poll message is implicitly transmitted to the CPE byallocating bandwidth in the uplink sub-frame map 400″. The allocatedbandwidth is associated with a multicast or broadcast connection ID.

At the decision STEP 812 the method determines whether a broadcast ormulticast poll was initiated. If so, the method proceeds to a STEP 814whereat the method monitors the appropriate bandwidth request contentionslots (e.g., as defined by the bandwidth contention slot descriptions404″, 404′″, and the broadcast bandwidth request contention slotdescriptions 410 of FIG. 7). If no broadcast or multicast poll wasinitiated, the method proceeds to control point 816 and subsequentlyterminates at a termination STEP 818.

The method proceeds from the monitoring STEP 814 to a decision STEP 820to determine whether valid (i.e., non-colliding) bandwidth requests weredetected. If no valid bandwidth requests were detected at STEP 820, themethod proceeds to the control point 816 and terminates at terminationSTEP 818. However, if the method detects valid bandwidth requests, themethod proceeds from STEP 820 to STEP 822. At STEP 822 the method uses aconvenient bandwidth allocation algorithm to allocate bandwidth to theCPE that requested bandwidth. The preferred bandwidth allocationalgorithm is described below in more detail with reference to FIGS.12-13. The bandwidth is allocated in the uplink sub-frame map 400″ asshown in FIG. 8.

Poll-Me Bit

As described above with reference to FIGS. 3-8, and in accordance withthe present invention, a currently active CPE sets a “poll-me” bit or a“priority poll-me” in a MAC packet in order to indicate to the basestation that it requires a change in bandwidth allocation. For example,in one embodiment of the present invention, a selected CPE requests apoll by setting a poll-me (“PM”) bit in the MAC header. Similarly, inaccordance with the present invention, a selected CPE sets a prioritypoll-me (“PPM”) bit in the MAC header in order to indicate that apriority poll is desired.

In order to reduce the bandwidth requirements associated withindividually polling every active CPE, the active CPEs are individuallypolled if and only if one of the poll-me bits is set by the CPE. Whenthe base station detects a request for polling (when the CPE sets itspoll-me bit), the individual polling technique shown in FIG. 9 isactivated in order to satisfy the request. The procedure by which a CPEstimulates a base station to poll the CPE is shown in FIG. 9. In analternative embodiment, multiple packets having “poll-me” bits setindicate that the CPE needs to make bandwidth allocation requests formultiple connections.

FIG. 9 is a flow chart that shows how the poll-me bit is used tostimulate polling. As shown in FIG. 9, the method first determines at adecision STEP 902 whether the piggybacking technique described in moredetail below has been exhausted. If not, the method proceeds to STEP 904and attempts to perform “piggybacking” first. The method then proceedsto a STEP 906 whereat the connection is set equal to a first connection.In this manner, the poll-me bits are scanned for each connection withinthe CPE. The method shown in FIG. 9 then proceeds to a decision STEP 908to determine whether any bandwidth needs exist. If not, the methodproceeds to a STEP 916 and scans for the next connection. If a bandwidthneed exists, the method proceeds to a decision STEP 910. At STEP 910 themethod determines whether any more packets are available foraccommodating the poll-me bit. If not, the method terminates at the STEP910. However, if packets are available, the method proceeds to a STEP912 and sets a poll-me bit in an available packet.

FIG. 10 shows the message sequence that is used by the present inventionin requesting polls using the “poll-me” bit described above. As shown inFIG. 10 at data connection 930, the CPE initiates a polling sequence bysetting its associated poll-me bit in the MAC header. The base stationMAC responds via data message 932 by individually polling the selectedCPE. This response is made by allocating bandwidth to the selected CPEin the uplink sub-frame map as shown in FIG. 10. The selected CPEsubsequently responds with a bandwidth request as shown in communicationpath 934. In response to the CPE's bandwidth request, the base stationgrants bandwidth and allocates bandwidth to the CPE in the uplinksub-frame map as shown in communication path 936. The selected CPE thentransmits its data to the base station via an associated connectionlink.

“Piggybacking” Technique

As described above with reference to the present inventive method andapparatus, in order to further reduce overhead bandwidth necessary forthe bandwidth allocation process, currently active CPEs may “piggyback”a bandwidth request (or any other control message) on their currenttransmissions. The CPEs accomplish this piggybacking of bandwidth byusing unused bandwidth in TC/PHY packets of existing bandwidthallocations. The procedure for using excess bandwidth in this manner isshown in FIG. 11.

As shown in FIG. 11, the method initiates the piggybacking process atSTEP 950. The method proceeds to a decision STEP 952 to determinewhether the CPE requires additional bandwidth. If so, the methodproceeds to a decision STEP 954, if not, the method proceeds to atermination STEP 964 whereat the method terminates. At the decision STEP954 the method determines whether any unused bytes exist in the currentallocation. If so, the method proceeds to insert bandwidth requests intothe unused bytes at STEP 956. If not, the method proceeds to a decisionSTEP 958. At the decision STEP 958, the method determines whether anypackets at all are allocated to the CPE. If there are no packets foundat the decision STEP 958, the method proceeds to STEP 960. However, ifpackets are allocated, the method proceeds to a STEP 962 whereat the CPEsets its poll-me bit. The method then proceeds to the STEP 960 whereatthe CPE awaits polling by the associated base station. The method thenterminates at the STEP 964.

Bandwidth Allocation

As described above, the base station MAC is responsible for allocatingthe available bandwidth of a physical channel on the uplink and thedownlink. Within the uplink and downlink sub-frames, the base stationMAC scheduler allocates the available bandwidth between the variousservices depending upon the priorities and rules imposed by theirquality of service (QoS). Additionally, the higher control sub-layers ofthe base station MAC allocate across more than one physical channel.

Downlink Bandwidth Allocation—One Embodiment

The downlink bandwidth is allocated as shown in FIG. 12. The basestation MAC maintains a set of queues for each physical channel that itserves. Within each physical channel queue set, the base stationmaintains a queue for each QoS. The queues hold data that is ready to betransmitted to the CPEs present on the physical channel. The higherlayers of the base station protocol stack are responsible for the orderin which data is place in the individual queues. The base station highercontrol layers are free to implement any convenient fairness or trafficshaping algorithms regarding the sharing of access between connectionsat the same QoS, without impacting the base station lower MAC controllayers. Once data is present in the queues it is the responsibility ofthe base station lower levels of control (e.g., the BS LL-MAA of FIGS. 5and 10) to allocate bandwidth based on the QoS.

In one embodiment of the present invention, in determining the amount ofbandwidth to allocate at a particular QoS for a particular CPE, the basestation takes into account the QoS, modulation, and the fairnesscriteria used to keep an individual CPE from using up all availablebandwidth. Bandwidth is preferably allocated in QoS order. If there is aqueue that cannot be transmitted entirely within a particular TDD frame,a QoS specific fairness algorithm, such as fair-weighted queuing, isused within that queue. Each connection is given a portion of theremaining available bandwidth based upon its relative weight. Thederivation of weights is QoS-dependant. For example, ATM traffic may beweighted based upon contractual bandwidth limits or guarantees, while IPconnections may all receive identical weights. Once the bandwidth isallocated the data is transmitted in a manner whereby the data is sortedby modulation type.

Uplink Bandwidth Allocation—One Embodiment

The uplink bandwidth allocation method is very similar to the downlinkbandwidth allocation method described above with reference to FIG. 12.However, rather than being maintained by the base station, the dataqueues are distributed across and maintained by each individual CPE.Rather than check the queue status directly, the base station preferablyreceives requests for bandwidth from the CPEs using the techniquesdescribed above with reference to FIGS. 3-11. Using these bandwidthrequests, the base station reconstructs a logical picture of the stateof the CPE data queues. Based on this logical view of the set of queues,the base station allocates uplink bandwidth in the same way as itallocates downlink bandwidth. This uplink bandwidth allocation techniqueis shown in FIG. 13.

As described above, the bandwidth allocated to any selected CPE istransmitted to the selected CPE in the form of bandwidth being allocatedin the uplink sub-frame map. Starting at a point in the TDD, the uplinksub-frame map allocates a certain amount of bandwidth to the selectedCPE. The selected CPE then allocates this bandwidth across itsconnections. This allows the CPE to use the bandwidth in a differentmanner than requested if it receives higher priority data while awaitingthe bandwidth allocation. As described above, the bandwidth allocationsare in a constant state of change owing to the dynamic nature ofbandwidth requirements. Consequently, a selected CPE may receiveunsolicited modifications to the bandwidth granted on a frame-by-framebasis. If the selected CPE is allocated less bandwidth for a frame thanis necessary to transmit all waiting data, the CPE must use the QoSs andfairness algorithms to service its queues. The CPE may “steal” bandwidthfrom lower QoS connections to piggyback request for more bandwidth usingthe piggybacking technique described above. TDM connections not alreadyat maximum bandwidth are allocated enough extra bandwidth in the uplinkto piggyback a request for additional bandwidth.

QoS Specific Fairness Algorithms

Data for transmission on the uplink and the downlink is preferablyqueued by quality of service (QoS) designations. The data is transmittedin order of a QoS queue priority as described above. As the queued datais transmitted, there may be a QoS queue for which there is insufficientbandwidth to transmit all queued data during the current TDD frame. Whenthis situation occurs, a QoS specific fairness algorithm is initiated toensure fair handling of the data queued at that QoS. There are 3 basicfairness algorithms that can be implemented: (1) Continuous Grant; (2)Fair-weighted queuing; and (3) Round Robin.

The MAC preferably does not police connections for bandwidth usage.Policing should be performed by higher control layers. The MAC assumesthat all pending data has met contractual restrictions and can betransmitted. Continuous Grant queues have the simplest fairnessalgorithm. All data in these queues must be sent every TDD frame.Insufficient bandwidth indicates an error in provisioning.

Fair Weighted Queuing

Fair weighted queuing requires that all connections at a given QoS havea weight assigned to them to determine the percentage of the availablebandwidth they are eligible to receive. This weight value is preferablyderived from one of three data rate parameters, depending upon thecontractual parameters of the provisioned connection. These threeparameters are: (1) Data Pending; (2) Guaranteed Rate; and (3) AverageRate.

Real-time VBR connections are established as DAMA connections withfair-weighted queuing based upon data pending. For a QoS queue of thistype in a TDD frame having insufficient bandwidth to transmit all of thedata in the queue, a weight for each connection in the queue isdetermined. In one embodiment, this weight is the amount of data pendingfor the connection expressed as a percentage of the total data pendingin the queue. Because the amount of data pending is dynamic, the weightsfor these types of queues must be determined every TDD frame where thereis insufficient bandwidth to send all data in the affected queue.

For DAMA connections contracted at a guaranteed rate the weights arecalculated based on the guaranteed rate. In this case, the weightpreferably is expressed as a percentage of the total guaranteed rate ofall connections with data pending in the queue. Because the guaranteedrate is provisioned the weights need not be determined each TDD framewhere they are used. Rather, the weights for a queue are only determinedwhen there is a provisioning change (i.e., a new connection, a change inconnection parameters, or a connection termination) for one of theconnections in the queue.

For DAMA connections contracted at an average rate the weights arepreferably calculated based on the average rate. The weight is theaverage rate expressed as a percentage of the total average rate of allconnections with data pending in the queue. Because the average rate isprovisioned the weights need not be determined each TDD frame where theyare used. Rather, the weights for a queue are only recalculated whenthere is a provisioning change for one of the connections in the queue.

In all of the cases described above, the granularity of the bandwidthallocations may be too coarse to provide a perfect percentage-basedweighted allocation across the connections in the queue. This may resultin some queues not receiving any bandwidth in a particular TDD frame. Toensure that the occurrence of this condition is fairly distributedacross the connections in the queue, the connection that did not receivebandwidth is given priority the next time the insufficient bandwidthcondition exists for the queue. For queues with weights based uponguaranteed or average rates some connections may not have sufficientdata pending to use all of the bandwidth that they are entitled to basedupon their calculated weight. In these cases, the connection's unusedbandwidth is fairly distributed across the connections having excessdata pending.

Some QoSs require that data be aged. For queues at these QoSs there isan associated queue of one step higher priority. If data is nottransmitted by the provisioned aging parameter, the data is moved to thehigher QoS queue and given priority over newer data in the originalqueue regardless of the relative weights of the connections.

Round Robin

The Round Robin fairness algorithm is used for best effort connectionswhere all connections have equal weight. When insufficient bandwidthexists to transmit all data in the queue in a particular TDD frameconnections are allocated bandwidth in a round-robin fashion with eachconnection receiving a block of bandwidth up to a queue-specificmaximum. Connections that did not receive bandwidth are given prioritythe next time the insufficient bandwidth condition exists.

Bandwidth Allocation Algorithm

For each TDD frame, the base station allocates the downlink portion ofthe TDD frame and it performs an estimate of the uplink traffic toallocate uplink bandwidth to the CPEs. The CPEs individually allocatetheir allotted bandwidth across their pending data connections.

Base Station Downlink

As shown in FIG. 2, in one preferred embodiment of the presentinvention, based on the ATDD split (i.e., the percentage of bandwidthallocated to the uplink and downlink) the base station has some numberof the 800 PS in the TDD frame available for downlink transmissions. Thedownlink bandwidth allocation algorithm preferably proceeds as follows.

First, the base station allocates PSs to the PI for PHY Control andenough PSs for at least 1 PI for the MAC Control. The base stationpreferably performs uplink bandwidth allocation before downlinkbandwidth allocation in order to determine the number of PIs to allocatefor the MAC Control. In one preferred embodiment, the PHY Control andMAC Control are always sent using QAM-4 modulation.

For connections with downlink continuous grant data pending, the basestation determines the number of PIs required to transmit the data. Thisnumber is then converted to PSs as a function of the modulation used forthe CPE associated with each connection. For each remaining QoS or untilavailable bandwidth is entirely allocated, the base station determinesif there is enough bandwidth to satisfy the entire need of the QoSqueue. If so, the base station allocates the required bandwidth.Otherwise, if there is not enough bandwidth to satisfy the queue, thebase station implements the queue-specific fairness algorithm describedabove.

Base Station Uplink

In one preferred embodiment, based upon the ATDD split described abovewith reference to FIG. 2, the base station has a pre-determined numberof PSs in the TDD frame available for uplink transmissions. The basestation must maintain an estimate of the data and control messagespending at each QoS for the CPEs that it serves. The base stationestimates the data traffic based upon the bandwidth requests receivedfrom the CPEs and based upon an observation of actual data traffic. Thebase station estimates the uplink control message traffic based upon theprotocols currently engaged (i.e., connection establishment, “poll-me”bit usage, etc.) and based upon the base station's polling policy (i.e.,individual, multicast, and broadcast). The uplink bandwidth allocationalgorithm proceeds as follows.

For connections with uplink continuous grant data pending, the basestation preferably determines the number of PIs required to transmit thedata. This number is then converted to a number of PSs as determined bythe modulation used for the CPE associated with each connection.Continuous grant connections having a current bandwidth that is lessthan the maximum bandwidth are always allocated uplink bandwidth that isthe smaller of: 1) their maximum bandwidth or 2) their current bandwidthplus the bandwidth necessary to send a CG bandwidth change message.

For each remaining QoS, or until available bandwidth is entirelyallocated, the base station determines if there is bandwidth sufficientto satisfy the entire need of the QoS queue and it then allocates therequired bandwidth. Otherwise, if there is not bandwidth sufficient tosatisfy the queue, the base station implements the queue-specificfairness algorithm described above.

CPE Uplink

As described above, for each TDD frame, the CPEs are allocated a portionof the uplink sub-frame in which to transmit their respective data.Because the bandwidth requirements of the CPE may have changed since thebase station received the bandwidth request information that it used toallocate the uplink bandwidth, the CPEs themselves are responsible forallocating their allotted bandwidth based upon their current bandwidthrequirements. That is, the CPEs are not constrained to distributeallocated bandwidth to their data connections in the same manner thatthe CPE used in requesting the bandwidth from the base station. TheCPE's uplink bandwidth allocation algorithm preferably proceeds asfollows.

For connections having uplink continuous grant data pending, the CPEdetermines the number of PIs that are required to transmit the data.This number is then converted to a PS number based upon the modulationscheme used by the CPE. For each remaining QoS, or until availablebandwidth is entirely allocated, the CPE determines if there isbandwidth sufficient to satisfy the entire need of the QoS queue. If so,the CPE allocates the required bandwidth. Otherwise, if there is notbandwidth sufficient to satisfy the queue, the CPE implements thequeue-specific fairness algorithm described above.

Exemplary Communication System

An exemplary communication system adapted for use with the bandwidthallocation protocols is now described. FIG. 14 shows a simplified blockdiagram of an exemplary communication system adapted for use with theembodiments described herein. As shown in FIG. 14, the exemplarycommunication system 1400 comprises a base station 1450 and a pluralityof CPEs 1410-1440. Although only three CPEs are shown in FIG. 14 oneskilled in the communication art shall recognize that the base station1450 is typically associated with hundreds of CPEs. The base station(BS) 1450 comprises a base station modem 1452, a base station CPU 1454and a CPU/Modem interface 1456.

As shown in FIG. 14, the BS 1450 communicates with the plurality of CPEs1410-1440 via the BS modem 1452. The BS modem 1452 establishes an uplinkand downlink with any of the plurality of CPEs 1410-1440 in a mannerwell known to one skilled in the communication art. As described above,the BS 1450 transmits information such as bandwidth allocation messagesand CG and ATM data to the plurality of CPEs 1410-1440 on the downlink.On the uplink the BS receives information such as bandwidth requestmessages and CG and ATM data from the plurality of CPEs 1410-1440.

In one embodiment, the exemplary communication system 1400 utilizes“padding packets” and the well-known TDMA multiplexing scheme. In thewell-known TDMA multiplexing scheme, the BS 1450 designates a portion ofits uplink sub-frame (i.e., bandwidth) to an associated CPE. Inaccordance with the exemplary communication system 1400, the associatedCPE transmits data to the BS 1450 on the uplink. When a CPE does nothave enough uplink data to utilize its entire portion of bandwidth, ittransmits padding packets to “pad” or fill the unused portion ofbandwidth.

The BS modem 1452 and the BS CPU 1454 transmit uplink and downlink datavia the CPU/Modem interface 1456. Examples of uplink and downlink datainclude control messages, bandwidth request messages, bandwidthallocation messages, CG data, DAMA data, padding packets and flagpackets. Embodiments of the bandwidth request protocols will now bedescribed.

Self-Correcting Bandwidth Request/Grant Protocol

The self-correcting bandwidth request/grant protocol provides amechanism for efficiently allocating bandwidth. The self-correctingbandwidth request/grant protocol can be used in both TDD and FDDcommunication systems. The self-correcting bandwidth request/grantprotocol utilizes both incremental and aggregate bandwidth requests.CPEs primarily transmit incremental bandwidth requests followed byperiodically transmitting aggregate bandwidth requests. The use ofincremental bandwidth requests reduces risks that a base station willerroneously issue duplicate bandwidth allocations to the same CPE forthe same connection. Race conditions that may have occurred when usingonly aggregate bandwidth requests are eliminated by requiring the CPEsto request bandwidth in an incremental manner. However, use of periodicaggregate bandwidth requests (that express the current state of theirrespective connection queues) allows the bandwidth allocation method andapparatus to be “self-correcting”.

The method is self-correcting because errors that may have beenintroduced due to lost incremental bandwidth requests are corrected bythe base stations when the aggregate bandwidth requests are received andprocessed. Upon receipt of the aggregate bandwidth requests, the basestations reset their records to correctly reflect the current bandwidthrequirements of their associated CPEs. Periodic use of aggregatebandwidth requests provides a self-correcting bandwidth allocationprotocol yet without the bandwidth overhead (e.g., bandwidth required totransmit acknowledgements) typically associated with the prior artself-correcting protocols (such as the guaranteed delivery protocols).

In wireless communication systems, DAMA services are allocated bandwidthon a demand-assignment basis. When a CPE requires additional bandwidthon a DAMA connection, it transmits a bandwidth request message to itsassociated base station. Depending upon the mode used by thecommunication system, the CPE transmits the bandwidth request directedtoward either the specific connection or to the QoS class to which theconnection belongs. In an exemplary embodiment, the QoS for theconnection is established at the time that the connection is establishedand is subsequently referenced by the base station or the CPE dependingupon the mode of operation being used.

In accordance with one embodiment of a communication system adapted foruse with the self-correcting protocol, CPEs preserve bandwidth with theassistance of various bandwidth request timers (e.g., bandwidth requesttimers “MT5” and “MT10”, described in more detail below with referenceto FIGS. 15 a and 15 b). The bandwidth request timers are used in thesecommunication systems to prevent the CPEs from requesting bandwidth toofrequently. Because the bandwidth request timer values can be varieddynamically based upon certain system characteristics, the bandwidthrequest timers are considered to be “dynamic.” For example, thebandwidth request timer values can be dynamically varied to reflect thecurrent flow of data received via the CPE ports. The bandwidth requesttimers can also dynamically vary their values based upon the connectionpriority in the system. In systems using dynamic bandwidth requesttimers, the CPEs typically use the bandwidth request timers inaccordance with the following description.

At the beginning of a data burst, the CPE resets the dynamic bandwidthrequest timers. During the data burst, the CPE decreases or shortens thebandwidth request timer values (thereby reducing the time period betweenthe transmission of consecutive bandwidth requests) based upon thecurrent data flow and the connection priority of the CPE. The CPEsprevent bandwidth requests from being transmitted too frequently bycontrolling the bandwidth request timer values. More specifically, theCPEs ensure that the bandwidth request timer values are never decreasedbelow a pre-determined threshold value, thereby ensuring that thebandwidth requests are not transmitted too frequently. One of ordinaryskill in the communications art shall recognize that “static” timers canalso be used to practice the present invention. Unlike the dynamictimers described above, static timers are not dynamically varied basedupon certain system characteristics. Therefore, those skilled in the artshall recognize that the utilization of dynamic bandwidth request timersis not meant to be a limitation as static timers can also be used.

In accordance with one embodiment, the CPE has an option of transmittinga message that contains either the total immediate requirements of theDAMA connection/QoS (i.e., the aggregate bandwidth requirements) or theincremental immediate requirements of the DAMA connection/QoS (i.e., theincremental bandwidth requirements). The CPE primarily transmits anincremental bandwidth request, but periodically (e.g., every fifthrequest) transmits an aggregate bandwidth request. The incrementalbandwidth requests specify the increased or decreased bandwidthrequirements for the CPE (i.e., the amount that the bandwidthrequirements have changed since the most recent bandwidth request wasmade). The aggregate bandwidth requirements specify the total immediatebandwidth requirements of the DAMA connection/QoS. The aggregatebandwidth request is used by the base stations to reset their records toreflect the current total bandwidth requirements of an associated CPE.In one embodiment, four consecutive incremental bandwidth requests aretransmitted. These incremental bandwidth requests are followed by anaggregate bandwidth request. The method of the self-correcting bandwidthrequest/grant protocol is now described in more detail with reference toFIGS. 15 a and 15 b.

FIG. 15 a is a flow diagram showing one embodiment of theself-correcting bandwidth request/grant protocol 1500. As shown in FIG.15 a, the method begins at a STEP 1510 whereat the CPE waits for thearrival of data for which bandwidth has not yet been requested. Whendata arrives, the method proceeds to a decision STEP 1520 to determinewhether a timer (referred to in FIG. 15 a as the “MT10 timer”) hasexpired. The MT10 timer is preferably a dynamic bandwidth request timeras described above. The MT10 timer is associated with theconnection/QoS. The value of the MT10 timer is used to determine thenumber of frames that the method waits between the transmission ofaggregate bandwidth requests (in other words, the MT10 timer determinesthe duration of the timer period between the periodic transmission ofaggregate bandwidth requests). The MT10 timer can have different valuesfor each QoS used by the system. The MT10 timer can be dynamicallyupdated to different values depending upon current data flow andconnection priority. Any bandwidth requests that are sent before theexpiration of the MT10 timer are, by definition, incremental bandwidthrequests. In one embodiment, the number of frames between transmissionof aggregate bandwidth requests is dependent upon the QoS. In oneexemplary embodiment, the MT10 timer duration equals 30 frames (for“real-time VBR” connections, or “rt-VBR”). In another exemplaryembodiment, the MT10 timer duration equals 100 frames (for“non-real-time VBR” connections, or “nrt-VBR”).

Referring again to FIG. 15 a, if the MT10 timer is determined to haveexpired at STEP 1520, the method proceeds to a STEP 1524 whereat themethod builds an aggregate bandwidth request. If the MT10 timer has notexpired at STEP 1520, the method proceeds to a decision STEP 1532whereat the method determines whether a second timer, referred to inFIG. 15 a as an “MT5 timer”, has expired. Similar to the MT10 (aggregatebandwidth request timer) described above, the MT5 timer also ispreferably a dynamic bandwidth request timer. The MT5 timer is alsoassociated with the connection/QoS. The MT5 timer is used to determinethe number of frames that the method will wait for a response to abandwidth request. As described above, bandwidth requests can betransmitted using either a “piggybacking” technique, or via individualpolls. The MT5 timer measures the duration (in frames) that the methodwaits for a response to one of these bandwidth requests. The MT5 timermay use different values associated with different quality of services(QoS) used by the system (in other words, the duration of the MT5 timeris QoS-dependent). The timer values of the MT5 timer can be dynamicallyvaried based upon current data flow and connection priority. In oneembodiment, the method waits for duration of 10 frames (for rt-VBR).Alternatively, the method waits for duration of 20 frames (for nrt-VBR).

In one embodiment, the period counted by the MT5 timer is less than theperiod counted by the MT10 timer for the same QoS. If the MT5 timer isdetermined not to have expired at the decision STEP 1532, the methodreturns to the STEP 1520 to determine whether the MT10 timer hasexpired. However, if the MT5 timer is determined to have expired at thedecision STEP 1532, the method proceeds to a STEP 1522 whereat themethod builds an incremental bandwidth request. The format used inbuilding incremental and aggregate bandwidth requests is described inmore detail below with reference to Table 1.

As shown in FIG. 15 a, the method proceeds to a STEP 1526 whereat thebandwidth request built at the STEP 1522 (incremental bandwidth request)or at the STEP 1524 (aggregate bandwidth request) is transmitted to aselected base station. As indicated in the notation of the STEP 1526,the mechanism used to transmit the bandwidth request can vary. Thoseskilled in the communications system design art shall recognize thatvarious methods of transmitting bandwidth request messages can be usedwithout departing from the scope or spirit of the present invention. Themethod proceeds to a control point (i.e., indicated in FIG. 15 a by aSTEP 1538) where the method returns to the STEP 1510 to await thearrival of data for which bandwidth has not been requested.

In one embodiment, the units of requested bandwidth that are indicatedin the bandwidth request/grant messages are the “natural” units of thesystem. In a variable length packet system, the “natural” units of thesystem are measured in bytes and bandwidth is therefore requested usingbytes as the unit of bandwidth measurement. In a fixed length packetsystem, the “natural” units of the system are measured in packets andbandwidth is therefore requested using packets as the unit of bandwidthmeasurement.

FIG. 15 b is a flow diagram showing an alternative embodiment of theself-correcting bandwidth request/grant protocol 1500′ of the presentinvention. As shown in FIG. 15 b, the method begins at a STEP 1510′whereat the CPE waits for the arrival of data for which bandwidth hasnot yet been requested. When data arrives, the method proceeds to adecision STEP 1520′ to determine whether a timer (referred to in FIG. 15b as the “MT10 timer”) has expired. The MT10 timer in FIG. 15 b issubstantially similar to the MT10 timer described above regarding FIG.15 a and thus is not described herein in more detail.

Referring again to FIG. 15 b, if the MT10 timer is determined to haveexpired at the STEP 1520′, the method proceeds to a STEP 1524′ whereatthe method builds an aggregate bandwidth request. If the MT10 timer isdetermined not to have expired at the STEP 1520′, the method proceeds toa STEP 1522′ whereat the method builds an incremental bandwidth request.The format used in building incremental and aggregate bandwidth requestsis described in more detail below with reference to Table 1.

The method then proceeds to a STEP 1526′ whereat the bandwidth requestbuilt at the STEP 1522′ (incremental bandwidth request) or at the STEP1524′ (aggregate bandwidth request) is transmitted to a selected basestation. The mechanism used to transmit the bandwidth request can vary.Those skilled in the communications system design art shall recognizethat various methods of transmitting bandwidth request messages can beused without departing from the scope or spirit of the presentinvention.

The method proceeds to a STEP 1528 whereat the method waits to receivean uplink sub-frame map indicating that a bandwidth grant has beenprovided. The method then proceeds to a decision STEP 1530 to determinewhether the bandwidth grant is appropriate for the purpose of eithertransmitting data or waiting for an appropriate grant. If the grant wasappropriate, the method proceeds to a STEP 1534. Else, the methodproceeds to a decision STEP 1532′. At the decision STEP 1532′, themethod determines whether a second timer, referred to in FIG. 15 b as an“MT5 timer”, has expired. The MT5 timer in FIG. 15 b is substantiallysimilar to the MT5 timer described above with reference to FIG. 15 a andthus is not described in more detail herein.

In one embodiment, the method waits for duration of 10 frames (forrt-VBR). Alternatively, the method waits for duration of 20 frames (fornrt-VBR). In one embodiment, the period counted by the MT5 timer is lessthan the period counted by the MT10 timer for the same QoS. If the MT5timer is determined to have expired at the decision STEP 1532′, themethod returns to the decision STEP 1520′ to determine whether the MT10timer has expired. Else, the method returns to the STEP 1528 to awaitreceipt of an uplink Map. If the bandwidth grant was determined to beappropriate at the decision STEP 1530, the method proceeds to the STEP1534.

As shown in FIG. 15 b, at the STEP 1534, the CPE transmits data acrossthe connection and proceeds to a decision STEP 1536 to determine whetherthe bandwidth grant fully satisfied the bandwidth request. If the grantfully satisfied the bandwidth request, the method proceeds to a controlpoint (i.e., indicated in FIG. 15 b by a STEP 1538′) where the methodreturns to the STEP 1510′. Else, the method returns to the STEP 1528where the method waits to receive an uplink sub-frame map containing abandwidth grant from the base station. As described above with referenceto FIG. 15 a, in one embodiment, the units of bandwidth that areindicated in the bandwidth request/grant messages are the “natural”units of the system. In a variable length packet system, the “natural”units of the system are measured in bytes and bandwidth is thereforerequested using bytes as the unit of bandwidth measurement. In a fixedlength packet system, the “natural” units of the system are measured inpackets and bandwidth is therefore requested using packets as the unitof bandwidth measurement.

In one embodiment, bandwidth requests from the CPE to the base stationare preferably made using the following 5-byte format (summarized belowin Table 1). In one embodiment, the bandwidth request comprises fourfields: a “Message Type ID” field, a “Connection ID” or “QoS” field, a“Request Type” field and an “Amount Requested” field. The Message TypeID field is one byte in length and contains a hexadecimal value of“0xB0”. The Connection ID (or QoS) field is two bytes in length andcontains the connection ID or QoS of the connection that is requested.The contents of the Connection ID or QoS field depends upon the BWRequest Scope field of a MAC Control message. The Request Type field isone bit in length and contains information indicating whether abandwidth request is an incremental or an aggregate bandwidth request.The Request Type field is set to a logical one to indicate that thebandwidth request is an incremental request. The Request Type field isset to a logical zero to indicate that the bandwidth request is anaggregate bandwidth request. In one embodiment, the Amount Requestedfield is fifteen bits in length and contains either (1) the amount ofbandwidth (measured in the natural units of the system) that isrequested per frame for CG connections or (2) the amount ofincremental/aggregate bandwidth (measured in the natural units of thesystem) that is requested for DAMA connections. As described above withreference to FIG. 15 b, for DAMA connections, the bandwidth units aremeasured in bytes in variable-length packet communication systems and inpackets in fixed-length packet communication systems.

TABLE 1 Exemplary Bandwidth Request Format Field Size Comments MessageType ID 1 byte Value = 0xB0 Connection ID or QoS 2 bytes Depends upon BWRequest Scope field of MAC Control message. Request Type 1 bit 0 = totalneeds for connection/QoS 1 = incremental needs for connection/QoS AmountRequested 15 bits In units per frame for CG connections and total orincremental bytes pending for DAMA connections. Units = bytes forvariable length packet system. Units = packets for fixed length packetsystem. Total 5 bytes

Abridged Bandwidth Request/Grant Protocol System

In embodiments that use an abridged bandwidth request/grant protocolsystem, the systems utilize padding packets to request a reduction inbandwidth allocation to a CPE. This embodiment is “abridged” because itdoes not require zero bandwidth request messages. The abridged bandwidthrequest/grant protocol system is now described in detail.

FIG. 16 shows a flowchart for the abridged bandwidth request/grantprotocol system. The abridged bandwidth request/grant protocol method1600 comprises a BS modem portion and a BS CPU portion. The BS modemportion comprises STEPs 1610-1630 and the BS CPU portion comprises STEP1640. In accordance with one embodiment, steps within the BS modemportion (e.g., STEP 1610) are performed by the BS modem 1452. Similarly,steps within the BS CPU portion are performed by the BS CPU 1454. Oneskilled in the communication art shall recognize that the steps of thepresent inventive method may be performed in other configurationswithout departing from the scope or spirit of the present invention. Forexample, the present inventive method may perform STEP 1610 in the BSmodem and STEPs 1620-1640 in the BS CPU.

Referring to FIG. 16, the method begins at a STEP 1610 whereat the BSmodem obtains a packet from a CPE. The method then proceeds to adecision STEP 1620 whereat the method determines whether the packetobtained in the STEP 1610 is a padding packet. If so, the methodproceeds to a STEP 1630 whereat the BS modem alerts the BS CPU of thepadding packet and its associated CPE, else the method returns to theSTEP 1610. In one embodiment of STEP 1630, the alert sent from the BSmodem to the BS CPU comprises a flag packet comprising data identifyingan associated CPE that transmitted the padding packet. One skilled inthe communication art shall recognize that other means for alerting theBS CPU may be utilized without departing from the scope or spirit of thepresent invention. For example, a shared memory means may be utilized.

In accordance with the STEP 1630 of the present method, a BS modemidentifies a CPE that has transmitted a padding packet from thetransmission portion of the uplink sub-frame. One skilled in thecommunication art shall recognize other methods of identifying CPE'swithout departing from the scope or spirit of the present invention. TheBS modem can identify CPEs at every uplink sub-frame or uplinkscheduling interval. After the STEP 1630 the method proceeds to a STEP1640.

As shown in FIG. 16, the BS CPU portion comprises the STEP 1640 whereatthe BS CPU notes that the associated CPU is active on the communicationsystem and has too much bandwidth. In accordance with one embodiment,the BS CPU can reduce the associated CPE's bandwidth allocation. BS CPUresets all requested bandwidth for the associated CPE. One skilled inthe communication art shall recognize that other methods of reducing CPEbandwidth allocation can be utilized with this embodiment withoutdeparting from its scope or spirit. This embodiment does not requirezero bandwidth request messages.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications may be made without departing fromthe spirit and scope of the invention. For example, the method andapparatus can be used in any type of communication system. Its use isnot limited to a wireless communication system. One such example is useof the invention in a satellite communication system. In such acommunication system, satellites replace the base stations describedabove. In addition, the CPEs are no longer at fixed distances from thesatellites. Therefore, it will be more difficult to schedule DAMAservices for the CPEs. Alternatively, the present invention can be usedin a wired communication system. The only difference between the wiredsystem and the wireless system described above is that the channelcharacteristics vary between the two. However, the bandwidth allocationsdo not change as between the two types of systems.

Although embodiments of the self-correcting bandwidth request/grantprotocol described above uses a four-one incremental bandwidthrequest-aggregate bandwidth request pattern (i.e., four incrementalbandwidth requests are transmitted, followed by one aggregate bandwidthrequest), alternative incremental/aggregate bandwidth request patternscan be used without departing from the scope or spirit of the presentinvention. For example, in one alternative embodiment, three incrementalbandwidth requests are transmitted followed by one aggregate bandwidthrequest. Another alternative uses a 3-to-2 incremental-to-aggregatebandwidth request transmission pattern. Accordingly, it is to beunderstood that the invention is not to be limited by the specificillustrated embodiment, but only by the scope of the appended claims.

1. A method for allocating bandwidth in a broadband wirelesscommunication system, wherein the wireless communication system includesa plurality of customer premise equipment in communication withassociated and corresponding base stations, and wherein the basestations maintain uplink and downlink sub-frame maps representative ofthe bandwidth allocations in the uplink and downlink communicationpaths, the method comprising: (a) determining an incremental bandwidthrequirement for a selected Customer Premises Equipment; (b) transmittingan incremental bandwidth request to a base station that is associatedwith the selected Customer Premises Equipment, wherein the incrementalbandwidth request contains information indicative of the incrementalbandwidth requirement determined in step (a); (c) determining anaggregate bandwidth requirement for the selected Customer PremisesEquipment; (d) determining whether an aggregate bandwidth request shouldbe transmitted to the base station associated with the selected CustomerPremises Equipment such that an aggregate bandwidth request is sentperiodically, wherein the aggregate bandwidth request containsinformation indicative of the aggregate bandwidth requirement determinedin step (c); and (e) if the aggregate bandwidth request is determined tobe required in step (d), transmitting the aggregate bandwidth request tothe associated base station and returning to step (a), else returning tostep (a) without transmitting the aggregate bandwidth request.